package com.ecoolex.ying.space.ws;

import com.ecoolex.framework.common.pojo.Page;
import com.ecoolex.framework.common.pojo.Pagination;
import com.ecoolex.framework.modularize.api.auth.user.ConsumerMember;
import com.ecoolex.ying.space.entity.UserFavoriteItems;
import com.ecoolex.ying.space.entity.UserWorks;

public interface UserFavoriteItemsService {

    UserFavoriteItems getUserFavoriteItemsByUserIdAndContentId(Integer userId, Integer contentId);

    UserFavoriteItems getUserFavoriteItemsByUserIdAndFavoriteItemId(Integer userId, Integer favoriteItemId);

    Pagination<UserFavoriteItems> queryUserFavoriteItemsByFavoriteId(Integer favoriteId, Page page);
    
    Pagination<UserFavoriteItems> queryMyUserFavoriteItems(Integer userId, Page page);
    
    long queryMyUserFavoriteItemsCount(Integer userId);
    
    Pagination<UserFavoriteItems> queryOtherUserFavoriteItems(Integer userId, Page page);
    
    long queryOtherUserFavoriteItemsCount(Integer userId);

    UserFavoriteItems addUserFavoriteItems(UserFavoriteItems record, String createUser);

    void deleteUserFavoriteItems(UserFavoriteItems record, String updateUser);

    ConsumerMember getContentAuthor(Integer userId);

    UserWorks getUserWorks(Integer id);

    long countByFavoriteId(Integer id);
}
